package com.volcreate.exception_collection.no2;

import java.util.ArrayList;
import java.util.Scanner;

/**
 * @author zxc
 * @date 2020/10/5
 */
public class Main {
    public static void main(String[] args) {
        ArrayList<String> strList = new ArrayList<>();
        Scanner scanner = new Scanner(System.in);
        /**
         * 输入n个字符串，放入strList。直到输入为!!end!!时，结束输入。
         *
         * 在strList头部新增一个begin，尾部新增一个end。
         *
         * 输出列表元素
         */
        strList.add("begin");
        while (true) {
            String next = scanner.next();
            if ("!!end!!".equals(next)) {
                break;
            }
            strList.add(next);
        }
        strList.add("end");
        System.out.println(strList);

        /**
         * 输入:字符串str
         *
         * 判断strList中有无包含字符串str，如包含输出true，否则输出false。并且输出下标，没包含返回-1。
         *
         * 在strList中从后往前找。返回其下标，找不到返回-1。
         *
         * 移除掉第1个(下标为0)元素,并输出。然后输出列表元素。
         */
        String str1 = scanner.next();
        System.out.println(strList.contains(str1));
        System.out.println(strList.indexOf(str1));
        System.out.println(strList.lastIndexOf(str1));
        System.out.println(strList.remove(0));
        System.out.println(strList);

        /**
         * 输入:字符串str
         *
         * 将第2个（下标为1）元素设置为字符串str.
         *
         * 输出列表元素
         */
        String str2 = scanner.next();
        strList.set(1, str2);
        System.out.println(strList);

        /**
         * 输入:字符串str
         *
         * 遍历strList，将字符串中包含str的元素放入另外一个ArrayList strList1，然后输出strList1。
         *
         * 在strList中使用remove方法，移除第一个和str相等的元素。
         *
         * 输出strList列表元素。
         *
         * 使用clear方法，清空strList。然后输出strList的内容，size()与isEmpty()，3者之间用,连接。
         */
        String str3 = scanner.next();
        ArrayList<String> strList1 = new ArrayList<>();
        strList.forEach(str -> {
            if (str.contains(str3)) {
                strList1.add(str);
            }
        });
        System.out.println(strList1);
        strList.remove(str3);
        System.out.println(strList);
        strList.clear();
        System.out.println(strList + "," + strList.size() + "," + strList.isEmpty());


    }
}
